# #####字典#####dict
# 键值映射
# 无序
# 可变数据类型
# key必须唯一

dict1 = {}
dict2 = dict()
#
# dict1 = {"a": 1, 2: "3", None:"4"}
# user_dict = {"root": "123456", "admin": "admin"}
isp = {
    "CMCC": "中国移动",
    "CUCC": "中国联通"
}

# 字典定义
# 元组通过花括号中用键/值对用冒号分割，而各个对用逗号分割
#字典的key必须是可hash对象
# • python中所有字符串、数字、元组、布尔值、None都是可hash对象
# • 字典的value可以是任何值
# • 字典的key必须是可hash对象
# • python中所有字符串、数字、元组、布尔值、None都是可hash对象
# • 字典的value可以是任何值

# dict1 = {"a": 1, 2: "3", None: "4"}
# # 查询
# print(dict1["a"])
# print(isp["CMCC"])
#
# # print(dict1["f"])
# print(dict1.get("a", ))
# # 用法:
#   # dicts[key]=value
#   # key不存在，表示新增
#   # key存在，表示修改
#
# # 修改
# dict1["a"] = 5
# print(dict1)
#
# # 新增
# dict1["e"] = 3
# print(dict1)
#

# 删除
# 字典基本操作-删除
# 用法1：dicts.pop(key)
# 用法2：dicts.popitem()
# dict1 = {"a": 1, 2: "3", None: "4"}
# dict1.pop("a")
# print(dict1)
# dict1.popitem()
# print(dict1)

# python3.6之后对dict的存储做了些优化，按照什么顺序定义就按什么顺序存储
#在python2 版本，dict定义和存储的顺序是不一样的

#合并
# 用法1：dict1.update（dict2）=》将dict2合并到dict1，对照自身进行操作
# 用法2; dict(dict,**dict2)=>将dict1与dict2合并成一个新字典
dict1 ={"a":1, "b":3, "c":1, "d":2}


#pack，unpack
#**dict2 ==> e=2,f=4
print(dict(dict1,**dict2))
print(dict(dict1, e=2,f=4))

#
#user = {"name":"wy"}